{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Analyzing with iNNvestigate"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**iNNvestigate** got created to make analyzing neural network's predictions easy! The library should help the user to focus on research and development by providing implemented analysis methods and facilitating rapid development of new methods. In this notebook we will show you how to use **iNNvestigate** and for a better understanding we recommend to read [iNNvestigate neural networks!](https://jmlr.org/papers/v20/18-540.html) first! How to use **iNNvestigate** you can read in this notebook: [Developing with iNNvestigate](introduction_development.ipynb)\n",
    "\n",
    "-----\n",
    "\n",
    "**The intention behind iNNvestigate is to make it easy to use analysis methods, but it is not to explain the underlying concepts and assumptions. Please, read the according publication(s) when using a certain method and when publishing please cite the according paper(s) (as well as the [iNNvestigate paper](https://jmlr.org/papers/v20/18-540.html)). Thank you!** You can find most related publication in [iNNvestigate neural networks!](https://jmlr.org/papers/v20/18-540.html) and in the README file.\n",
    "\n",
    "### Analysis methods\n",
    "\n",
    "The field of analyizing neural network's predictions is about gaining insights how and why a potentially complex network gave as output a certain value or choose a certain class over others. This is often called interpretability or explanation of neural networks. We just call it analyzing a neural network's prediction to be as neutral as possible and to leave any conclusions to the user.\n",
    "\n",
    "Most methods have in common that they analyze the input features w.r.t. a specific neuron's output. Which insights a method reveals about this output can be grouped into (see [Learning how to explain: PatternNet and PatternAttribution](https://arxiv.org/abs/1705.05598)):\n",
    "\n",
    "* **function:** analyzing the operations the network function uses to extract or compute the output. E.g., how would changing an input feature change the output.\n",
    "* **signal:** analyzing the components of the input that cause the output. E.g., which parts of an input image or which directions of an input are used to determine the output.\n",
    "* **attribution:** attributing the \"importance\" of input features for the output. E.g., how much would changing an input feature change the output.\n",
    "\n",
    "----\n",
    "\n",
    "In this notebook we will introduce methods for each of these categories and along show how to use different features of **iNNvestigate**, namely how to:\n",
    "\n",
    "* analyze a prediction.\n",
    "* train an analyzer.\n",
    "* analyze a prediction w.r.t to a specific output neuron.\n",
    "\n",
    "Let's dive right into it!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Run on Colab\n",
    "> Colab uses per default tensorflow 1.15 which was not used for development of `iNNvestigate`  \n",
    "> Switch to colab GPU runtime for performance\n",
    "\n",
    "<table align=\"left\">\n",
    "  <td>\n",
    "    <a target=\"_blank\" href=\"https://colab.research.google.com/github/albermax/innvestigate/blob/master/examples/notebooks/introduction.ipynb\"><img src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" />Run in Google Colab</a>\n",
    "  </td>\n",
    "</table>\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "try:\n",
    "    # %tensorflow_version only exists in Colab.\n",
    "    %tensorflow_version 1.x\n",
    "    IS_COLAB = True\n",
    "    if not os.path.exists('/content/innvestigate'):\n",
    "        !git clone https://github.com/albermax/innvestigate.git\n",
    "        !pip install /content/innvestigate --no-deps\n",
    "    %cd /content/innvestigate/examples/notebooks\n",
    "except Exception:\n",
    "    IS_COLAB = False"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### Training a network\n",
    "\n",
    "To analyze a network, we need a network! As a base for **iNNvestigate** we chose the Keras deep learning library, because it is easy to use and allows to inspect build models.\n",
    "\n",
    "In this first piece of code we import all the necessary modules:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.simplefilter('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "%matplotlib inline  \n",
    "\n",
    "import imp\n",
    "import matplotlib.pyplot as plot\n",
    "import numpy as np\n",
    "import os\n",
    "\n",
    "import keras\n",
    "import keras.backend\n",
    "import keras.layers\n",
    "import keras.models\n",
    "import keras.utils\n",
    "\n",
    "import innvestigate\n",
    "import innvestigate.utils as iutils\n",
    "\n",
    "# Use utility libraries to focus on relevant iNNvestigate routines.\n",
    "mnistutils = imp.load_source(\"utils_mnist\", \"../utils_mnist.py\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.0.9'"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "innvestigate.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "to load the data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Load data\n",
    "# returns x_train, y_train, x_test, y_test as numpy.ndarray\n",
    "data_not_preprocessed = mnistutils.fetch_data()\n",
    "\n",
    "# Create preprocessing functions\n",
    "input_range = [-1, 1]\n",
    "preprocess, revert_preprocessing = mnistutils.create_preprocessing_f(data_not_preprocessed[0], input_range)\n",
    "\n",
    "# Preprocess data\n",
    "data = (\n",
    "    preprocess(data_not_preprocessed[0]), keras.utils.to_categorical(data_not_preprocessed[1], 10),\n",
    "    preprocess(data_not_preprocessed[2]), keras.utils.to_categorical(data_not_preprocessed[3], 10),\n",
    ")\n",
    "\n",
    "if keras.backend.image_data_format == \"channels_first\":\n",
    "    input_shape = (1, 28, 28)\n",
    "else:\n",
    "    input_shape = (28, 28, 1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "and to now create and train a CNN model:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From C:\\ProgramData\\Miniconda3\\envs\\innvestigate\\lib\\site-packages\\tensorflow\\python\\framework\\op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Colocations handled automatically by placer.\n",
      "WARNING:tensorflow:From C:\\ProgramData\\Miniconda3\\envs\\innvestigate\\lib\\site-packages\\tensorflow\\python\\ops\\math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use tf.cast instead.\n",
      "Epoch 1/20\n",
      "60000/60000 [==============================] - 24s 403us/step - loss: 0.1548 - acc: 0.9538\n",
      "Epoch 2/20\n",
      "60000/60000 [==============================] - 21s 345us/step - loss: 0.0381 - acc: 0.9883\n",
      "Epoch 3/20\n",
      "60000/60000 [==============================] - 21s 346us/step - loss: 0.0226 - acc: 0.9932\n",
      "Epoch 4/20\n",
      "60000/60000 [==============================] - 21s 349us/step - loss: 0.0141 - acc: 0.9953\n",
      "Epoch 5/20\n",
      "60000/60000 [==============================] - 21s 355us/step - loss: 0.0111 - acc: 0.99645s - loss: 0.0101 - - ETA: 4s - loss: 0.0101 \n",
      "Epoch 6/20\n",
      "60000/60000 [==============================] - 21s 356us/step - loss: 0.0081 - acc: 0.9976\n",
      "Epoch 7/20\n",
      "60000/60000 [==============================] - 21s 358us/step - loss: 0.0050 - acc: 0.9986\n",
      "Epoch 8/20\n",
      "60000/60000 [==============================] - 21s 358us/step - loss: 0.0073 - acc: 0.9975\n",
      "Epoch 9/20\n",
      "60000/60000 [==============================] - 22s 359us/step - loss: 0.0051 - acc: 0.9984\n",
      "Epoch 10/20\n",
      "60000/60000 [==============================] - 22s 362us/step - loss: 0.0038 - acc: 0.9989\n",
      "Epoch 11/20\n",
      "60000/60000 [==============================] - 22s 362us/step - loss: 0.0060 - acc: 0.9981\n",
      "Epoch 12/20\n",
      "60000/60000 [==============================] - 22s 362us/step - loss: 0.0039 - acc: 0.9988\n",
      "Epoch 13/20\n",
      "60000/60000 [==============================] - 22s 364us/step - loss: 0.0029 - acc: 0.9990\n",
      "Epoch 14/20\n",
      "60000/60000 [==============================] - 22s 366us/step - loss: 0.0032 - acc: 0.9990\n",
      "Epoch 15/20\n",
      "60000/60000 [==============================] - 22s 366us/step - loss: 0.0056 - acc: 0.9984\n",
      "Epoch 16/20\n",
      "60000/60000 [==============================] - 22s 366us/step - loss: 0.0025 - acc: 0.9992\n",
      "Epoch 17/20\n",
      "60000/60000 [==============================] - 22s 366us/step - loss: 0.0021 - acc: 0.9995\n",
      "Epoch 18/20\n",
      "60000/60000 [==============================] - 22s 369us/step - loss: 4.3855e-04 - acc: 0.9999\n",
      "Epoch 19/20\n",
      "60000/60000 [==============================] - 22s 370us/step - loss: 4.6783e-04 - acc: 0.9999\n",
      "Epoch 20/20\n",
      "60000/60000 [==============================] - 22s 369us/step - loss: 0.0051 - acc: 0.9986\n",
      "10000/10000 [==============================] - 1s 99us/step\n",
      "Scores on test set: loss=0.07011097835374394 accuracy=0.9881\n"
     ]
    }
   ],
   "source": [
    "model = keras.models.Sequential([\n",
    "    keras.layers.Conv2D(32, (3, 3), activation=\"relu\", input_shape=input_shape),\n",
    "    keras.layers.Conv2D(64, (3, 3), activation=\"relu\"),\n",
    "    keras.layers.MaxPooling2D((2, 2)),\n",
    "    keras.layers.Flatten(),\n",
    "    keras.layers.Dense(512, activation=\"relu\"),\n",
    "    keras.layers.Dense(10, activation=\"softmax\"),\n",
    "])\n",
    "\n",
    "model.compile(loss=\"categorical_crossentropy\", optimizer=\"adam\", metrics=[\"accuracy\"])\n",
    "model.fit(data[0], data[1], epochs=20, batch_size=128)\n",
    "\n",
    "scores = model.evaluate(data[2], data[3], batch_size=128)\n",
    "print(\"Scores on test set: loss=%s accuracy=%s\" % tuple(scores))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Analyzing a predicition\n",
    "\n",
    "Let's first choose an image to analyze:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD4CAYAAAAq5pAIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAANsElEQVR4nO3dfahc9Z3H8c9H2xrRKImPWY22xoAuyl6XqCstq0vT+gQ+gA+JQbIg3gpGKghryIJVQZR1u7rkj8KValMfUouND0jpJoaCrmAxaryJCdUo2TYac7cGraLi03f/uCfLNd75zc3MmTkTv+8XXGbmfOfM+TI3n5xz5zfn/BwRAvD1t0/TDQDoD8IOJEHYgSQIO5AEYQeS+EY/N2abj/6BHosIT7a8qz277XNs/9H2FttLu3ktAL3lTsfZbe8r6VVJP5C0TdLzkhZGxKbCOuzZgR7rxZ79NElbIuKNiPhE0q8kXdjF6wHooW7CfpSkP094vK1a9iW2h22vs72ui20B6FI3H9BNdqjwlcP0iBiRNCJxGA80qZs9+zZJsyc8PlrSW921A6BXugn785Lm2v6O7W9JWiDpiXraAlC3jg/jI+Iz20sk/ZekfSXdGxGv1NYZgFp1PPTW0cb4mx3ouZ58qQbA3oOwA0kQdiAJwg4kQdiBJAg7kARhB5Ig7EAShB1IgrADSRB2IAnCDiRB2IEkCDuQBGEHkiDsQBKEHUiCsANJEHYgCcIOJEHYgSQIO5AEYQeSIOxAEoQdSIKwA0kQdiAJwg4kQdiBJAg7kETH87NLku2tkt6X9LmkzyJiXh1NAahfV2Gv/FNE/KWG1wHQQxzGA0l0G/aQtNr2C7aHJ3uC7WHb62yv63JbALrgiOh8ZftvIuIt24dLWiPpuoh4uvD8zjcGYEoiwpMt72rPHhFvVbdjkh6VdFo3rwegdzoOu+0DbE/fdV/SDyVtrKsxAPXq5tP4IyQ9anvX6zwUEb+rpSvskYMOOqhl7fbbby+ue9JJJxXr8+fPL9Y//fTTYh2Do+OwR8Qbkv6uxl4A9BBDb0AShB1IgrADSRB2IAnCDiRRx4kw6LFFixYV67fddlvL2uzZs7vadmlYT5Leeeedrl4f/cOeHUiCsANJEHYgCcIOJEHYgSQIO5AEYQeS6OpKNXu8Ma5UM6mjjz66WH/ppZeK9UMOOaRlrdvf78MPP1ysL1mypFjfuXNnV9vHnuvJlWoA7D0IO5AEYQeSIOxAEoQdSIKwA0kQdiAJxtkHwN13312sX3fddcV6dTnvSfX69/vee+8V66Vz7ZcvX15c95NPPumop+wYZweSI+xAEoQdSIKwA0kQdiAJwg4kQdiBJBhn74Njjz22WB8dHS3WDzzwwGJ9w4YNLWs7duworttuSuZujY2NtaydcsopxXXffvvtuttJoeNxdtv32h6zvXHCspm219h+rbqdUWezAOo3lcP4X0g6Z7dlSyWtjYi5ktZWjwEMsLZhj4inJe1+baELJa2o7q+QdFG9bQGoW6dzvR0REdslKSK22z681RNtD0sa7nA7AGrS84kdI2JE0oiU9wM6YBB0OvS2w/YsSapuW3/kCmAgdBr2JyQtru4vlvR4Pe0A6JW2h/G2V0o6S9KhtrdJ+omkOyT92vZVkv4k6dJeNrm3GxoaKtanT59erD/zzDPF+plnntmyNm3atOK6CxcuLNaXLVtWrM+ZM6dYP/LII1vWHn+8vI8499xzi3WuSb9n2oY9Ilr9a/h+zb0A6CG+LgskQdiBJAg7kARhB5Ig7EASPf8GHaT99tuvWG93mvFdd93V8bY//vjjYv2+++4r1i+9tDyqetxxx+1xT7t8+OGHxTqXkq4Xe3YgCcIOJEHYgSQIO5AEYQeSIOxAEoQdSIJx9j5odxppO+eff36x/thjj3X1+iXz5s3r2Ws/99xzxfoHH3zQs21nxJ4dSIKwA0kQdiAJwg4kQdiBJAg7kARhB5JgnL0PVq5cWaxfcMEFxfqpp55arJ9wwgktayeffHJx3YsvvrhYnzGjPEHvu+++2/H6V199dXHd+++/v1jftGlTsY4vY88OJEHYgSQIO5AEYQeSIOxAEoQdSIKwA0m43TXLa92Y3b+NDZCZM2cW61u2bCnWDz744GLddstat7/fp556qli/9tpri/Unn3yyZW3u3LnFde+5555i/ZprrinWs4qISf9BtN2z277X9pjtjROW3Wz7Tdvrq5/z6mwWQP2mchj/C0nnTLL8rogYqn5+W29bAOrWNuwR8bSknX3oBUAPdfMB3RLbo9VhfssvQNsetr3O9routgWgS52G/WeS5kgakrRd0k9bPTEiRiJiXkT07sqFANrqKOwRsSMiPo+ILyTdI+m0etsCULeOwm571oSHF0va2Oq5AAZD2/PZba+UdJakQ21vk/QTSWfZHpIUkrZK+lHvWtz77dxZ/nzzsssuK9YfeeSRYr3dOHzJ8uXLi/Ubb7yxWG83//uqVata1pYuXVpc9+yzzy7W58yZU6y//vrrxXo2bcMeEZPNcPDzHvQCoIf4uiyQBGEHkiDsQBKEHUiCsANJcIrrXmD+/PnF+hVXXNGy1u5SzzfddFOx3u20yfvvv3/L2kMPPVRct90lth944IFiffHixcX611XHp7gC+Hog7EAShB1IgrADSRB2IAnCDiRB2IEkGGdHYxYsWFCsP/jgg8X6m2++WawPDQ21rLU77Xhvxjg7kBxhB5Ig7EAShB1IgrADSRB2IAnCDiTBODsas88+5X1Nu/PVL7/88mL9lltuaVm79dZbi+vuzRhnB5Ij7EAShB1IgrADSRB2IAnCDiRB2IEkGGfHwCqdjy5Jzz77bLE+bdq0lrUTTzyxuO6rr75arA+yjsfZbc+2/Xvbm22/YvvH1fKZttfYfq26nVF30wDqM5XD+M8k3RARJ0r6B0nX2v5bSUslrY2IuZLWVo8BDKi2YY+I7RHxYnX/fUmbJR0l6UJJK6qnrZB0UY96BFCDb+zJk21/W9Ipkv4g6YiI2C6N/4dg+/AW6wxLGu6yTwBdmnLYbR8o6TeSro+Iv9qTfgbwFRExImmkeg0+oAMaMqWhN9vf1HjQH4yIVdXiHbZnVfVZksZ60yKAOrQdevP4LnyFpJ0Rcf2E5XdKeici7rC9VNLMiPiXNq/Fnh21ueGGG4r1O++8s2Vt1apVLWuSdOWVVxbrH330UbHepFZDb1M5jP+upCslbbC9vlq2TNIdkn5t+ypJf5J0aQ19AuiRtmGPiP+W1OoP9O/X2w6AXuHrskAShB1IgrADSRB2IAnCDiTBKa7Yax122GHFeukU2OOPP764brvTa0dHR4v1JnEpaSA5wg4kQdiBJAg7kARhB5Ig7EAShB1IgnF2fG0dc8wxLWtbt24trrty5cpifdGiRZ201BeMswPJEXYgCcIOJEHYgSQIO5AEYQeSIOxAEoyzI6XVq1cX62eccUaxfvrppxfrmzZt2uOe6sI4O5AcYQeSIOxAEoQdSIKwA0kQdiAJwg4k0XYWV9uzJf1S0pGSvpA0EhH/aftmSVdL+t/qqcsi4re9ahSo0yWXXFKsv/zyy8V6u+vONznO3spU5mf/TNINEfGi7emSXrC9pqrdFRH/3rv2ANRlKvOzb5e0vbr/vu3Nko7qdWMA6rVHf7Pb/rakUyT9oVq0xPao7Xttz2ixzrDtdbbXddcqgG5MOey2D5T0G0nXR8RfJf1M0hxJQxrf8/90svUiYiQi5kXEvO7bBdCpKYXd9jc1HvQHI2KVJEXEjoj4PCK+kHSPpNN61yaAbrUNu21L+rmkzRHxHxOWz5rwtIslbay/PQB1aXuKq+3vSXpG0gaND71J0jJJCzV+CB+Stkr6UfVhXum1OMUV6LFWp7hyPjvwNcP57EByhB1IgrADSRB2IAnCDiRB2IEkCDuQBGEHkiDsQBKEHUiCsANJEHYgCcIOJEHYgSSmcnXZOv1F0v9MeHxotWwQDWpvg9qXRG+dqrO3Y1sV+no++1c2bq8b1GvTDWpvg9qXRG+d6ldvHMYDSRB2IImmwz7S8PZLBrW3Qe1LordO9aW3Rv9mB9A/Te/ZAfQJYQeSaCTsts+x/UfbW2wvbaKHVmxvtb3B9vqm56er5tAbs71xwrKZttfYfq26nXSOvYZ6u9n2m9V7t972eQ31Ntv2721vtv2K7R9Xyxt97wp99eV96/vf7Lb3lfSqpB9I2ibpeUkLI2IgJrS2vVXSvIho/AsYtv9R0geSfhkRJ1XL/k3Szoi4o/qPckZE3Dggvd0s6YOmp/GuZiuaNXGacUkXSfpnNfjeFfq6TH1435rYs58maUtEvBERn0j6laQLG+hj4EXE05J27rb4QkkrqvsrNP6Ppe9a9DYQImJ7RLxY3X9f0q5pxht97wp99UUTYT9K0p8nPN6mwZrvPSSttv2C7eGmm5nEEbum2apuD2+4n921nca7n3abZnxg3rtOpj/vVhNhn2xqmkEa//tuRPy9pHMlXVsdrmJqpjSNd79MMs34QOh0+vNuNRH2bZJmT3h8tKS3GuhjUhHxVnU7JulRDd5U1Dt2zaBb3Y413M//G6RpvCebZlwD8N41Of15E2F/XtJc29+x/S1JCyQ90UAfX2H7gOqDE9k+QNIPNXhTUT8haXF1f7Gkxxvs5UsGZRrvVtOMq+H3rvHpzyOi7z+SztP4J/KvS/rXJnpo0ddxkl6ufl5pujdJKzV+WPepxo+IrpJ0iKS1kl6rbmcOUG/3a3xq71GNB2tWQ719T+N/Go5KWl/9nNf0e1foqy/vG1+XBZLgG3RAEoQdSIKwA0kQdiAJwg4kQdiBJAg7kMT/AfnpY2u+zFNRAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Choosing a test image for the tutorial:\n",
    "image = data[2][7:8]\n",
    "\n",
    "plot.imshow(image.squeeze(), cmap='gray', interpolation='nearest')\n",
    "plot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this first part we show how to create and use an analyzer. To do so we use an analyzer from *function* category, namely the gradient. The gradient shows how the linearized network function reacts on changes of a single feature.\n",
    "\n",
    "This is simply done by passing the model without a softmax to the analyzer class:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From C:\\ProgramData\\Miniconda3\\envs\\innvestigate\\lib\\site-packages\\tensorflow\\python\\ops\\math_grad.py:102: div (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Deprecated in favor of operator or tf.math.divide.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Stripping the softmax activation from the model\n",
    "model_wo_sm = iutils.keras.graph.model_wo_softmax(model)\n",
    "\n",
    "# Creating an analyzer\n",
    "gradient_analyzer = innvestigate.analyzer.Gradient(model_wo_sm)\n",
    "\n",
    "# Applying the analyzer\n",
    "analysis = gradient_analyzer.analyze(image)\n",
    "\n",
    "# Displaying the gradient\n",
    "plot.imshow(analysis.squeeze(), cmap='seismic', interpolation='nearest')\n",
    "plot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For convience there is a function that creates an analyzer for you. It passes all the parameter on to the class instantiation:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Creating an analyzer\n",
    "gradient_analyzer = innvestigate.create_analyzer(\"gradient\", model_wo_sm)\n",
    "\n",
    "# Applying the analyzer\n",
    "analysis = gradient_analyzer.analyze(image)\n",
    "\n",
    "# Displaying the gradient\n",
    "plot.imshow(analysis.squeeze(), cmap='seismic', interpolation='nearest')\n",
    "plot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To emphasize different compontents of the analysis many people use instead of the \"plain\" gradient the absolute value or the square of it. With the gradient analyzer this can be done specifying additional parameters when creating the analyzer:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Creating a parameterized analyzer\n",
    "abs_gradient_analyzer = innvestigate.create_analyzer(\"gradient\", model_wo_sm, postprocess=\"abs\")\n",
    "square_gradient_analyzer = innvestigate.create_analyzer(\"gradient\", model_wo_sm, postprocess=\"square\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Similar other analyzers can be parameterized.\n",
    "\n",
    "Now we visualize the result by projecting the gradient into a gray-color-image:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Applying the analyzers\n",
    "abs_analysis = abs_gradient_analyzer.analyze(image)\n",
    "square_analysis = square_gradient_analyzer.analyze(image)\n",
    "\n",
    "# Displaying the analyses, use gray map as there no negative values anymore\n",
    "plot.imshow(abs_analysis.squeeze(), cmap='gray', interpolation='nearest')\n",
    "plot.show()\n",
    "plot.imshow(square_analysis.squeeze(), cmap='gray', interpolation='nearest')\n",
    "plot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Training an analyzer\n",
    "\n",
    "Some analyzers are data-dependent and need to be trained. In **iNNvestigate** this realized with a SKLearn-like interface. In the next piece of code we train the method PatternNet that analyzes the *signal*:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/1\n",
      "1875/1875 [==============================] - 53s 28ms/step - loss: 4.0000 - broadcast_1_loss: 1.0000 - broadcast_2_loss: 1.0000 - broadcast_3_loss: 1.0000 - broadcast_4_loss: 1.0000\n"
     ]
    }
   ],
   "source": [
    "# Creating an analyzer\n",
    "patternnet_analyzer = innvestigate.create_analyzer(\"pattern.net\", model_wo_sm, pattern_type=\"relu\")\n",
    "\n",
    "# Train (or adapt) the analyzer to the training data\n",
    "patternnet_analyzer.fit(data[0], verbose=True)\n",
    "\n",
    "# Applying the analyzer\n",
    "analysis = patternnet_analyzer.analyze(image)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And visualize it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Displaying the signal (projected back into input space)\n",
    "plot.imshow(analysis.squeeze()/np.abs(analysis).max(), cmap=\"gray\", interpolation=\"nearest\")\n",
    "plot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Choosing the output neuron\n",
    "\n",
    "In the previous examples we always analyzed the output of the neuron with the highest activation. In the next one we show how one can choose the neuron to analyze:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Creating an analyzer and set neuron_selection_mode to \"index\"\n",
    "inputXgradient_analyzer = innvestigate.create_analyzer(\"input_t_gradient\", model_wo_sm,\n",
    "                                                       neuron_selection_mode=\"index\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The gradient\\*input analyzer is an example from the *attribution* category and we visualize it by means of a colored heatmap to highlight positive and negative attributions:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Analysis w.r.t. to neuron 0\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Analysis w.r.t. to neuron 1\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Analysis w.r.t. to neuron 2\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Analysis w.r.t. to neuron 3\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Analysis w.r.t. to neuron 4\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Analysis w.r.t. to neuron 5\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Analysis w.r.t. to neuron 6\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Analysis w.r.t. to neuron 7\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Analysis w.r.t. to neuron 8\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Analysis w.r.t. to neuron 9\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for neuron_index in range(10):\n",
    "    print(\"Analysis w.r.t. to neuron\", neuron_index)\n",
    "    # Applying the analyzer and pass that we want \n",
    "    analysis = inputXgradient_analyzer.analyze(image, neuron_index)\n",
    "    \n",
    "    # Displaying the gradient\n",
    "    plot.imshow(analysis.squeeze(), cmap='seismic', interpolation='nearest')\n",
    "    plot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Additional resources\n",
    "\n",
    "If you would like to learn more we have more notebooks for you, for example: [Comparing methods on MNIST](mnist_method_comparison.ipynb), [Comparing methods on ImageNet](imagenet_method_comparison.ipynb) and [Comparing networks on ImageNet](imagenet_network_comparison.ipynb)\n",
    "\n",
    "If you want to know more about how to use the API of **iNNvestigate** look into: [Developing with iNNvestigate](introduction_development.ipynb)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "innvestigate",
   "language": "python",
   "name": "innvestigate"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
